Telegram Group & Telegram Channel
🖥 Задача: Что выведет этот код на C\#?


using System;
using System.Threading.Tasks;

class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("1");
var task = FooAsync();
Console.WriteLine("2");
await task;
Console.WriteLine("5");
}

static async Task FooAsync()
{
Console.WriteLine("3");
await Task.Delay(100);
Console.WriteLine("4");
}
}


Вопрос:
Какой порядок чисел появится в консоли?

👇 Подумай, прежде чем смотреть ответ.



Разбор:

1. Console.WriteLine("1"); → печатает 1

2. var task = FooAsync(); → вызывается FooAsync(), который:

печатает 3

доходит до await Task.Delay(100); и возвращает управление в Main (не дожидаясь задержки)

3. Console.WriteLine("2"); → печатает 2

4. await task; → теперь Main ждёт завершения FooAsync

5. после 100ms продолжает выполнение в FooAsync → печатает 4

6. возвращаемся в Main → печатает 5



🎉 Окончательный вывод:

1
3
2
4
5

📝 Что проверяет задача:

- Понимание работы async/await

- Как работают точки приостановки (suspension points)

- Когда код возвращается в вызывающий метод

#CSharp #AsyncAwait #InterviewQuestion #CodeChallenge

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/csharp_ci/1359
Create:
Last Update:

🖥 Задача: Что выведет этот код на C\#?


using System;
using System.Threading.Tasks;

class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("1");
var task = FooAsync();
Console.WriteLine("2");
await task;
Console.WriteLine("5");
}

static async Task FooAsync()
{
Console.WriteLine("3");
await Task.Delay(100);
Console.WriteLine("4");
}
}


Вопрос:
Какой порядок чисел появится в консоли?

👇 Подумай, прежде чем смотреть ответ.



Разбор:

1. Console.WriteLine("1"); → печатает 1

2. var task = FooAsync(); → вызывается FooAsync(), который:

печатает 3

доходит до await Task.Delay(100); и возвращает управление в Main (не дожидаясь задержки)

3. Console.WriteLine("2"); → печатает 2

4. await task; → теперь Main ждёт завершения FooAsync

5. после 100ms продолжает выполнение в FooAsync → печатает 4

6. возвращаемся в Main → печатает 5



🎉 Окончательный вывод:

1
3
2
4
5

📝 Что проверяет задача:

- Понимание работы async/await

- Как работают точки приостановки (suspension points)

- Когда код возвращается в вызывающий метод

#CSharp #AsyncAwait #InterviewQuestion #CodeChallenge

@csharp_ci

BY C# (C Sharp) programming


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/csharp_ci/1359

View MORE
Open in Telegram


C C Sharp programming Telegram | DID YOU KNOW?

Date: |

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

C C Sharp programming from es


Telegram C# (C Sharp) programming
FROM USA